

package com.zdkj.subway.stm.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zdkj.common.core.entity.BaseEntity;
import com.zdkj.subway.stm.util.LocalDateConverter;
import com.zdkj.subway.stm.util.LocalDateTimeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 车站备用金盘点
 *
 * @author cxp
 * @date 2024-11-16 10:21:52
 */
@Data
@TableName("sw_st_pettymoney_check")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "车站备用金盘点")
public class SwStPettymoneyCheck extends BaseEntity<SwStTicketCheck> {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId
    @ExcelIgnore
    @ApiModelProperty(value = "唯一标识")
    private Long id;
    /**
     * 线路编码
     */
    @ExcelIgnore
    @ApiModelProperty(value = "线路编码")
    private String lineCode;
    /**
     * 车站编码
     */
    @ExcelProperty(value = "车站", index = 0)
    @ApiModelProperty(value = "车站编码")
    private String stationCode;
    /**
     * 盘点日期
     */
    //@ExcelProperty(value = "盘点日期", converter = LocalDateConverter.class, index = 1)
    @ExcelIgnore
	@ApiModelProperty(value = "盘点日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate statisticsDate;
    /**
     * 账面结余金额(元)
     */
    @ExcelProperty(value = "账面结余金额(元)", index = 2)
    @ApiModelProperty(value = "账面结余金额(元)")
    private BigDecimal bookBalanceMoney;
    /**
     * 实际账面金额(元)
     */
    @ExcelProperty(value = "实存现金合计(元)", index = 3)
    @ApiModelProperty(value = "实际账面金额(元)")
    private BigDecimal actualBookBalanceMoney;
    /**
     * 差异金额(元)
     */
    @ExcelProperty(value = "差异金额(元)", index = 4)
    @ApiModelProperty(value = "差异金额(元)")
    private BigDecimal diffBookBalanceMoney;
    /**
     * 100元张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "100元张数")
    private Integer hundredNumber;
    /**
     * 100元金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "100元金额")
    private BigDecimal hundredMoney;
    /**
     * 50元张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "50元张数")
    private Integer fiftiyNumber;
    /**
     * 50元金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "50元金额")
    private BigDecimal fiftiyMoney;
    /**
     * 20元张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "20元张数")
    private Integer twentyNumber;
    /**
     * 20元金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "20元金额")
    private BigDecimal twentyMoney;
    /**
     * 10元张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "10元张数")
    private Integer tenNumber;
    /**
     * 10元金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "10元金额")
    private BigDecimal tenMoney;
    /**
     * 5元张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "5元张数")
    private Integer fiveNumber;
    /**
     * 5元金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "5元金额")
    private BigDecimal fiveMoney;
    /**
     * 1元纸币张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "1元纸币张数")
    private Integer onePaperNumber;
    /**
     * 1元纸币金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "1元纸币金额")
    private BigDecimal onePaperMoney;
    /**
     * 1元硬币张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "1元硬币张数")
    private Integer oneCoinNumber;
    /**
     * 1元硬币金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "1元硬币金额")
    private BigDecimal oneCoinMoney;
    /**
     * 5角纸币张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "5角纸币张数")
    private Integer fivecentsPaperNumber;
    /**
     * 5角纸币金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "5角纸币金额")
    private BigDecimal fivecentsPaperMoney;
    /**
     * 5角硬币张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "5角硬币张数")
    private Integer fivecentsCoinNumber;
    /**
     * 5角硬币金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "5角硬币金额")
    private BigDecimal fivecentsCoinMoney;
    /**
     * 2角纸币张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "2角纸币张数")
    private Integer twocentsPaperNumber;
    /**
     * 2角纸币金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "2角纸币金额")
    private BigDecimal twocentsPaperMoney;
    /**
     * 1角纸币张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "1角纸币张数")
    private Integer onecentsPaperNumber;
    /**
     * 1角纸币金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "1角纸币金额")
    private BigDecimal onecentsPaperMoney;
    /**
     * 1角硬币张数
     */
    @ExcelIgnore
    @ApiModelProperty(value = "1角硬币张数")
    private Integer onecentsCoinNumber;
    /**
     * 1角硬币金额
     */
    @ExcelIgnore
    @ApiModelProperty(value = "1角硬币金额")
    private BigDecimal onecentsCoinMoney;
    /**
     * 差异原因
     */
    @ExcelIgnore
    @ApiModelProperty(value = "差异原因")
    private String diffReason;
    /**
     * 盘点人名称
     */
    @ExcelProperty(value = "盘点人", index = 5)
    @ApiModelProperty(value = "盘点人名称")
    private String checkPersonName;
    /**
     * 盘点人工号
     */
    @ExcelIgnore
    @ApiModelProperty(value = "盘点人工号")
    private String checkPersonJobNo;
    /**
     * 复核人名称
     */
    @ExcelProperty(value = "复核人", index = 6)
    @ApiModelProperty(value = "复核人名称")
    private String attendName;
    /**
     * 复核人工号
     */
    @ExcelIgnore
    @ApiModelProperty(value = "复核人工号")
    private String attendJobNo;
    /**
     * 盘点提交状态 0：未提交 1：已提交 2：车站驳回 3：车站审核通过 4.车间驳回 5.车间审核通过 6：部门驳回 7：部门审核通过
     */
    @ExcelIgnore
    @ApiModelProperty(value = "盘点提交状态 0：未提交 1：已提交 2：车站驳回 3：车站审核通过 4.车间驳回 5.车间审核通过 6：部门驳回 7：部门审核通过")
    private String checkStatus;
    /**
     * 车站审核人名称
     */
    @ExcelProperty(value = "中心站(副)", index = 7)
    @ApiModelProperty(value = "车站审核人名称")
    private String auditStationName;
    /**
     * 车站审核人工号
     */
    @ExcelIgnore
    @ApiModelProperty(value = "车站审核人工号")
    private String auditStationJobNo;
    /**
     * 车站审核意见
     */
    @ExcelIgnore
    @ApiModelProperty(value = "车站审核意见")
    private String auditStationOpinion;
    /**
     * 车站审核审核时间
     */
    @ExcelIgnore
    @ApiModelProperty(value = "车站审核审核时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime auditStationTime;
    /**
     * 车间票务专业审核人名称
     */
    @ExcelProperty(value = "车间票务专业", index = 8)
    @ApiModelProperty(value = "车间票务专业审核人名称")
    private String auditWorkshopName;
    /**
     * 车间票务专业审核人工号
     */
    @ExcelIgnore
    @ApiModelProperty(value = "车间票务专业审核人工号")
    private String auditWorkshopJobNo;
    /**
     * 车间票务专业审核意见
     */
    @ExcelIgnore
    @ApiModelProperty(value = "车间票务专业审核意见")
    private String auditWorkshopOpinion;
    /**
     * 车间票务专业审核时间
     */
    @ExcelIgnore
    @ApiModelProperty(value = "车间票务专业审核时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime auditWorkshopTime;
    /**
     * 部门票务专业名称
     */
    @ExcelProperty(value = "部门票务专业", index = 9)
    @ApiModelProperty(value = "部门票务专业名称")
    private String auditDeptName;
    /**
     * 部门票务专业审核人工号
     */
    @ExcelIgnore
    @ApiModelProperty(value = "部门票务专业审核人工号")
    private String auditDeptJobNo;
    /**
     * 部门票务专业审核意见
     */
    @ExcelIgnore
    @ApiModelProperty(value = "部门票务专业审核意见")
    private String auditDeptOpinion;
    /**
     * 部门票务专业审核时间
     */
    @ExcelIgnore
    @ApiModelProperty(value = "部门票务专业审核时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime auditDeptTime;
    /**
     * 备注内容
     */
    @ExcelIgnore
    @ApiModelProperty(value = "备注内容")
    private String otherRemark;

    /**
     * 盘点日期查询
     */
    @TableField(exist = false)
    //@ExcelIgnore
	@ExcelProperty(value = "盘点日期", index = 1)
    private String statisticsDateStr;
}
